package com.rop.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rop.model.system.SysUser;
import com.rop.model.vo.LoginVo;
import com.rop.model.vo.SysUserQueryVo;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author rop
 * @since 2023-04-14
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 条件分页查询
     *
     * @param pageParam      分页参数
     * @param sysUserQueryVo 查询条件
     * @return 查询结果
     */
    IPage<SysUser> getList(Page<SysUser> pageParam, SysUserQueryVo sysUserQueryVo);

    /**
     * 修改用户状态
     * @param id 用户id
     * @param status 状态
     * @return 修改结果
     */
    boolean updateStatus(Long id, Integer status);

    /**
     * 用户登录
     * @param loginVo vo
     * @return 登录，返回token
     */
    String login(LoginVo loginVo);

    Map<String,Object> info(HttpServletRequest request);
}
